using B.S.NewMedical.Api.Read.DTOS;
using B.S.NewMedical.ErrorCode;
using MediatR;

namespace B.S.NewMedical.Api.Read.Application.Command.Order
{
    /// <summary>
    /// 问诊单分页显示查询命令
    /// </summary>
    public class ConsultationPageDisplayCommand : IRequest<ApiPageing<ConsultationPageDisplayDto>>
    {
        /// <summary>
        /// 当前页码
        /// </summary>
        public int Index { get; set; } = 1;

        /// <summary>
        /// 页容量
        /// </summary>
        public int Size { get; set; } = 10;

        /// <summary>
        /// 患者姓名
        /// </summary>
        public string? Patient { get; set; }

        /// <summary>
        /// 问诊方式
        /// </summary>
        public string? Method { get; set; }

        /// <summary>
        /// 问诊来源
        /// </summary>
        public string? Source { get; set; }

        /// <summary>
        /// 问诊状态
        /// </summary>
        public string? Status { get; set; }

        /// <summary>
        /// 订单状态
        /// </summary>
        public string? Orderstatus { get; set; }

        /// <summary>
        /// 是否包含统计信息
        /// </summary>
        public bool IncludeStatistics { get; set; } = false;

        /// <summary>
        /// 排序字段
        /// </summary>
        public string SortBy { get; set; } = "ConsultationTime";

        /// <summary>
        /// 排序方向（asc/desc）
        /// </summary>
        public string SortDirection { get; set; } = "desc";
    }
} 